package com.itheima.d3_inner_class3;
/*
    1 匿名内部类
        就是一种特殊的局部内部类；所谓匿名：指的是程序员不需要为这个类声明名字。
    2 匿名内部类的作用 ?
        匿名内部类本质就是一个子类，并会立即创建出一个子类对象
    3 匿名内部类的格式 ?
        new  类或接口(参数值…) {
           重写类或者接口的抽象方法
        };
    4 匿名内部类的特点 ?
        匿名内部类本质就是一个子类，并会立即创建出一个子类对象
 */
public class Test1 {
    public static void main(String[] args) {
        goSwimming(new MaHu());
        goSwimming(new Swimming() {
            @Override
            public void swim() {
                System.out.println("狗会狗刨");
            }
        });
    }
    public static void goSwimming(Swimming swimming){
        System.out.println("计时开始");
        swimming.swim();
        System.out.println("计时结束");
    }
}


interface Swimming{
    void swim();
}

class MaHu implements Swimming{

    @Override
    public void swim() {
        System.out.println("驴不会游泳");
    }
}